package com.specificgroup.jira.plugin.acpro.model;

import com.specificgroup.jira.plugin.acpro.model.acpro.AcproLoginData;
import com.specificgroup.jira.plugin.acpro.model.acpro.AcproProjectInfo;
import com.specificgroup.jira.plugin.acpro.xml.settings.generated.JiraAcproSettingsType;

import java.util.List;
import java.util.Map;

/**
 *
 * @author Ivan Holub
 */
public class Settings {

    private Long jiraProjectId;

    private List<Long> jiraProjectComponentsIds;

    private AcproLoginData acproLoginData;

    private String acproProjectKey;

    private AcproProjectInfo acproProjectInfo;

    private Map<String, String> usersMapping; //acpro userKey -> jira userName

    private Map<String, String> notifyCCMapping; //acpro notifyCC email -> jira userName

    private JiraAcproSettingsType loadedSettings;

    private AcproResponse acproResponse = new AcproResponse(); 

    private Map<String, String> issueTypeMapping; //acpro category key -> jira issue type id

    private String categoryIsNotSetJiraIssueTypeIdMapping;

    private Map<String, String> priorityMapping; //acpro urgency key -> jira priority id

    private Map<String, String> statusMapping; //acpro status key -> jira status id

    private Map<String, Long> projectVersionMapping; //acpro Product Version Name -> jira Project Version Id

    private Map<String, String> resolutionMapping; //acpro status key -> jira resolution id

    public Map<String, String> getResolutionMapping() {
        return resolutionMapping;
    }

    public void setResolutionMapping(Map<String, String> resolutionMapping) {
        this.resolutionMapping = resolutionMapping;
    }

    public AcproResponse getAcproResponse() {
        return acproResponse;
    }

    public JiraAcproSettingsType getLoadedSettings() {
        return loadedSettings;
    }

    public void setLoadedSettings(JiraAcproSettingsType loadedSettings) {
        this.loadedSettings = loadedSettings;
    }

    public AcproProjectInfo getAcproProjectInfo() {
        return acproProjectInfo;
    }

    public void setAcproProjectInfo(AcproProjectInfo acproProjectInfo) {
        this.acproProjectInfo = acproProjectInfo;
    }

    public Map<String, Long> getProjectVersionMapping() {
        return projectVersionMapping;
    }

    public void setProjectVersionMapping(Map<String, Long> projectVersionMapping) {
        this.projectVersionMapping = projectVersionMapping;
    }

    public String getCategoryIsNotSetJiraIssueTypeIdMapping() {
        return categoryIsNotSetJiraIssueTypeIdMapping;
    }

    public void setCategoryIsNotSetJiraIssueTypeIdMapping(String categoryIsNotSetJiraIssueTypeIdMapping) {
        this.categoryIsNotSetJiraIssueTypeIdMapping = categoryIsNotSetJiraIssueTypeIdMapping;
    }

    public Map<String, String> getIssueTypeMapping() {
        return issueTypeMapping;
    }

    public void setIssueTypeMapping(Map<String, String> issueTypeMapping) {
        this.issueTypeMapping = issueTypeMapping;
    }

    public AcproLoginData getAcproLoginData() {
        return acproLoginData;
    }

    public void setAcproLoginData(AcproLoginData acproLoginData) {
        this.acproLoginData = acproLoginData;
    }

    public String getAcproProjectKey() {
        return acproProjectKey;
    }

    public void setAcproProjectKey(String acproProjectKey) {
        this.acproProjectKey = acproProjectKey;
    }

    public Map<String, String> getUsersMapping() {
        return usersMapping;
    }

    public void setUsersMapping(Map<String, String> usersMapping) {
        this.usersMapping = usersMapping;
    }

    public Map<String, String> getNotifyCCMapping() {
        return notifyCCMapping;
    }

    public void setNotifyCCMapping(Map<String, String> notifyCCMapping) {
        this.notifyCCMapping = notifyCCMapping;
    }

    public Map<String, String> getPriorityMapping() {
        return priorityMapping;
    }

    public void setPriorityMapping(Map<String, String> priorityMapping) {
        this.priorityMapping = priorityMapping;
    }

    public Map<String, String> getStatusMapping() {
        return statusMapping;
    }

    public void setStatusMapping(Map<String, String> statusMapping) {
        this.statusMapping = statusMapping;
    }

    public Long getJiraProjectId() {
        return jiraProjectId;
    }

    public void setJiraProjectId(Long jiraProjectId) {
        this.jiraProjectId = jiraProjectId;
    }

    public List<Long> getJiraProjectComponentsIds() {
        return jiraProjectComponentsIds;
    }

    public void setJiraProjectComponentsIds(List<Long> jiraProjectComponentsIds) {
        this.jiraProjectComponentsIds = jiraProjectComponentsIds;
    }

}
